home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 12 / CU Amiga Magazine's Super CD-ROM 12 (1997)(EMAP Images)(GB)[!][issue 1997-07].iso / CUCD / Games / DestructivePoker / sources / sources.lha / game.h < prev    next >
C/C++ Source or Header  |  1997-02-18  |  2KB  |  105 lines

  1. /*
  2.         Game.h
  3.  
  4.         V1.00 - 121196  Kimmo Teräväinen
  5.         -----   ------  ----------------
  6.         V0.01   121196  Ehdotus Win & AmigaOS versioiden yhdistämiseksi
  7.         V0.10   291196  Luo pakat jakaa kortit, kutsuu preferences-
  8.                         dialogeja.
  9.         V0.12   130297  Added Prefs setting to constructor
  10.  
  11.  
  12. */
  13. #ifndef DC1_POKER_GAME
  14. #define DC1_POKER_GAME
  15.  
  16. #include "card.h"
  17. #include "dealpile.h"
  18. #include "junkpile.h"
  19. #include "handpile.h"
  20. #include "filerequ.h"
  21.  
  22. #ifdef _Windows
  23. #include "owl/intlabel.h"
  24. #else
  25. #include "intlabel.h"
  26. #endif
  27.  
  28. const int MAX_CHANGES = 3;
  29.  
  30. class cGamePoker {
  31.   TWindow *wnd;         // Window where we are
  32.   const TBitmap *gfx;   // graphics
  33.   cDealPile dealpile;
  34.   cJunkPile junkpile;
  35.   cHandPile handpile;
  36.  
  37.   int   jokers,changes,
  38.         changed;
  39.   cIMGCard *cards[CARDS_MAX_LKM]; // pointer array of cards
  40.   TIntLabel money;
  41.   cFileReq req;
  42. protected:
  43.   void CreateCards();
  44.   void DeleteCards();
  45. public:
  46.   cGamePoker(TWindow *Wnd,const TBitmap *Gfx,int pjoker=FALSE,int p5kind=FALSE,int cha=1,int jok=3) :
  47.     dealpile(CARDS_MAX_LKM,20,50),
  48.     junkpile(CARDS_MAX_LKM,500,50),
  49.     handpile(100,100,pjoker,p5kind),
  50.     wnd(Wnd),
  51.     gfx(Gfx),
  52.     req(wnd),
  53.     changes(cha),
  54.     jokers(jok),
  55. #ifdef _Windows
  56.     money(Wnd,STATIC_MONEY,8,0)
  57. #else
  58.     money(Wnd,0,200+Wnd->BorderLeft,15+Wnd->BorderTop,100,12)
  59. #endif
  60.   {
  61.     money=0;
  62.     changed=-1;
  63.     CreateCards();
  64.     InitPiles();
  65.   }
  66.   virtual ~cGamePoker() { DeleteCards(); }
  67.  
  68.   cIMGCard *const *Cards() const { return cards; }
  69.   const TBitmap *Gfx() const { return gfx; }
  70.   int Money_Add(int val) { return money+=val; }
  71.  
  72.   int Jokers() const { return jokers; }
  73.   int Changes() const { return changes; }
  74.  
  75.   int SetJokers(int j) { return jokers=j; }
  76.   int SetChanges(int c) { return changes=c; }
  77.  
  78.   int PrefsJoker() const { return handpile.GetPrefs_5jokers(); }
  79.   int Prefs5Kind() const { return handpile.GetPrefs_5ofkind(); }
  80.  
  81.   void InitPiles();
  82.  
  83.   void MenuNew();
  84.   void MenuOld();        // MenuOpen
  85.   void MenuSave();
  86.   void MenuAbout();
  87.   void MenuQuit() {}
  88.   void MenuCopy() {}
  89.   void MenuPrefsHand();
  90.   void MenuPrefsBet();
  91.   void MenuHelp();
  92.  
  93.   void GadgetShuffle();
  94.   void GadgetFinish();
  95.   void GadgetBet();     // { MenuPrefsBet(); }
  96.   void GadgetChanges() {}
  97.   void GadgetJokers() {}
  98.  
  99.   void GadgetTurn(int card) {
  100.     handpile.Turn(card);
  101.   }
  102. };
  103.  
  104. #endif
  105.